Docker on EC2のCloudFormationテンプレート
こんにちは、坂巻です。
Docker on EC2のCloudFormationテンプレートを作成しました。EC2上でさくっとコンテナを起動したいときに使えると思いますので、こちらにアウトプットします。
構成図
今回のテンプレートで作成される環境は以下のような構成です。
CloudFormationテンプレート
テンプレートはGitHubに格納しています。docker構築箇所について簡単に説明します。以下、テンプレートの抜粋です。
Docker: Fn::Base64: | #!/bin/bash yum update -y yum install -y docker systemctl enable docker service docker start docker pull [イメージ] docker run -d --restart=always -it -p 80:80 [イメージ]
dockerの構築にはユーザーデータを使用しています。4行目~7行目は、dockerをインストールして起動しています。8行目では、コンテナの元となるイメージをレジストリから取得しています。9行目ではdockerサービス起動時に、該当のコンテナが起動するようにしています。また、今回のユーザーデータについては、上述の通りですが、ユーザデータ(イメージ、dockerコマンド)については、用途にあわせて書き換えてください。
さいごに
コンテナの起動にECSを考えたのですが、準備が少々手間だったので今回はEC2上にDockerを構築しました。テンプレートにしておけば、検証等で流用できると思い、そんな思いから作成しました。私はこのテンプレートを使用して、セキュリティ製品の検証を行う予定でございます。